Look for $remotename.trustedkeys.gpg in remotes.d dir
authorAlexander Larsson <alexl@redhat.com>
Fri, 8 Apr 2016 15:00:59 +0000 (17:00 +0200)
committerColin Walters (automation) <walters+githubbot@verbum.org>
Thu, 14 Apr 2016 16:21:01 +0000 (16:21 +0000)
This is a nice way to add gpg keys for system configured remotes
without making them globally trusted.

Closes: #247
Approved by: cgwalters

src/libostree/ostree-repo.c

index 72a254317b5804397a652a8639cd238059360dbe..08e6a48fa821b5d94a9ded0eaee8cd4ebbec5e12 100644 (file)
@@ -4575,6 +4575,7 @@ find_keyring (OstreeRepo          *self,
               OstreeRemote        *remote,
               GCancellable        *cancellable)
 {
+  g_autoptr(GFile) remotes_d = NULL;
   g_autoptr(GFile) file = NULL;
   file = g_file_get_child (self->repodir, remote->keyring);
 
@@ -4583,6 +4584,15 @@ find_keyring (OstreeRepo          *self,
       return g_steal_pointer (&file);
     }
 
+  remotes_d = get_remotes_d_dir (self);
+  if (remotes_d)
+    {
+      g_autoptr(GFile) file2 = g_file_get_child (remotes_d, remote->keyring);
+
+      if (g_file_query_exists (file2, cancellable))
+        return g_steal_pointer (&file2);
+    }
+
   if (self->parent_repo)
     return find_keyring (self->parent_repo, remote, cancellable);